/******************************************************************************
 * @file     aw99703 i2c driver, control backlight of mipi lcd
 * @brief    header file for dpu driver
 ******************************************************************************/

#ifndef _DRV_MIPI_LCD_H_
#define _DRV_MIPI_LCD_H_

#include <stdint.h>
#include "lcd_type.h"
#include "drv_mipi_dsi_host.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef enum
{
    MIPI_LCD_360_55 = 0,
    MIPI_LCD_360_8,
    MIPI_LCD_360_NUM
}EM_LCD_TYPE;

// #if 0 // def APP_DEMO
// #ifndef LV_HOR_RES_MAX
// #define LV_HOR_RES_MAX          (360)
// #endif
// #ifndef LV_VER_RES_MAX
// #define LV_VER_RES_MAX          (640)
// #endif
// #else
// #if defined(MIPI_LCD_360_55_INCH)
// #ifndef LV_HOR_RES_MAX
// #define LV_HOR_RES_MAX          (720)
// #endif
// #ifndef LV_VER_RES_MAX
// #define LV_VER_RES_MAX          (1280)
// #endif
// #elif defined(MIPI_LCD_360_8_INCH)
// #ifndef LV_HOR_RES_MAX
// #define LV_HOR_RES_MAX          (800)
// #endif
// #ifndef LV_VER_RES_MAX
// #define LV_VER_RES_MAX          (1280)
// #endif
// #else
// #ifndef LV_HOR_RES_MAX
// #define LV_HOR_RES_MAX          (720)
// #endif
// #ifndef LV_VER_RES_MAX
// #define LV_VER_RES_MAX          (1280)
// #endif
// #endif /* else MIPI_LCD*/
// #endif /* APP_DEMO */

/**
  \brief       mipi lcd int
  \param[out]  lcd_type: return lcd type, driver read hardware get this info.
  \return      error code
*/
int lcd_init(EM_LCD_TYPE * lcd_type);




/**
  \brief       adjust back light
  \param[in]   backlight_code, 0-2047, 0 turn off, 2047 max brightness
  \return      error code
*/
int lcd_backlight(int backlight_code);


/**
  \brief       get lcd parameter
  \param[in]   lcd_para: lcd parameter
  \return      error code
*/
int lcd_get_cfg(EM_LCD_TYPE lcd_type, mipi_dsi_host_config_t *lcd_para);


#ifdef __cplusplus
}
#endif

#endif /* _DRV_DPU_H_ */




